home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 5
/
Aminet 5 - March 1995.iso
/
Aminet
/
mus
/
misc
/
xmodule30.lha
/
XModule
/
XModule.doc
< prev
next >
Wrap
Text File
|
1995-02-05
|
36KB
|
904 lines
This manual documents XModule version 3.0 released on 06 Jan 95.
Copyright (C) 1993-1995 by Bernardo Innocenti, Freely distributable,
all rights reserved.
Overview
********
The Amiga computer has standard file formats for almost everything.
Graphics, text, animation, hypertext and many other data types are
easily imported into any program that supports the given standards, but
this isn't true for music. Too bad the music interchange file format
defined by Electronic Arts (the old IFF SMUS) was too poor to be usable
in high-quality music sequencers. Therefore, every music editor
created its own proprietary module format, so that, for instance, you
cannot load into ProTracker music written with Oktalyzer.
XModule
(pronounced
Cross Module
) born as music module
conversion utility that tries to solve this problem. The project
started in early 1993, as a friend of mine (Fabio), who wrote a lot of
(good) music on Oktalyzer, needed ProTracker to obtain certain effects.
He had an old PD conversion program called
Tracker
that worked only
in particular conditions and was really bogus. So I decided to contact
the author and he let me have the source for Lit30000 (about $20).
The original program has been completely rewritten from scratch, as
the source was poorly coded. Now XModule sports many other features,
like module optimization, a nice user interface and complex module
editing functions.
This is why I like to call XModule a
module processor
. XModule is
to music processing what ADPro and ImageFX are to image processing (I
am not very modest :-).
Distribution
************
XModule is a
Freeware
program. This means that you (probably)
have got it free and
you should not ask any money
if you decide to
copy it for someone else. If, instead, someone sold you XModule for a
price higher than the media used to store it on (i.e. $1 for a DD
disk), tell him he should try making money honestly.
I'm not asking you to pay for XModule because I never paid for a
ShareWare program, so I felt that I somehow had to pay my debt and I
decided to distribute XModule as free software, a little gift to all
the Amiga community. Feel free to distribute XModule to your friends
and enemies, but, if you do so, you
must
keep the documentation and
the other distribution files together with the executable. The source
code is not required, but I'm distributing it to let others take
advantage of my work, so, if possible, try to include the source too.
Fred Fish, SAN, ADS and Aminet are especially granted permission to
include XModule into their PD libraries. Other PD libraries are
welcome as well.
If you intend to include XModule or parts of it in a commercial
package, please at least send me a free copy of the product. I would
be honored to see one of my programs being part of a commercial package.
You can modify or improve XModule (see Programmers), only be so kind
to return the new source code to me, so I can put the new features in
the next release. And,
please
, do not strip my name from the
documentation, the program source, or the executable.
This product is provided
as is
, without warranties of any kind:
the author of this program cannot be held liable for any defects in the
executable nor in the documentation or in any other files contained in
this package. Any damage directly or indirectly caused by the
use/misuse of XModule is the sole responsibility of the user her/him
self. In other words: XModule never formatted my hard disk nor killed
my dog, so I suppose it won't cause any damage to your system either,
but, just in case, do not blame me if something nasty happens.
Getting Started
***************
XModule requires Kickstart version 2.0 or greater. The reason is
that I hate programming on 1.3 and I won't do it any more. If you still
haven't upgraded to 2.0, you'll miss the chance to run XModule and many
other wonderful programs. So what are you waiting for?
XModule also takes advantage of some 2.1 and 3.0 features, such as
DataTypes, AmigaGuide, Locale and many enhancements for the user
interface.
You can invoke XModule either from the Shell or Workbench. XModule
accepts both command line and ToolTypes arguments. Workbench and Shell
parameters are the same. The full AmigaDOS template is:
XModule FROM/M,PUBSCREEN/K,PORTNAME/K,SETTINGS/K,
CX_POPUP/T,CX_POPKEY/K,CX_PRIORITY/K/N,
ICONXPOS/K/N,ICONYPOS/K/N,ICONNAME/K
The
FROM
keyword specifies modules to load at startup time. Standard
AmigaDOS wildcards can be used to match more than one module. From
Workbench, you multi-select module icons instead of specifying a
ToolType.
Specifying the
PUBSCREEN
keyword, followed by a public screen name,
allows you to open XModule on an existing public screen. The given
name should match exactly (case matters), or the system won't be able to
find the requested screen. If the requested screen does not exist, a
new public screen will be opened, cloning the resolution and colors of
the default public screen (usually the Workbench screen). Specifying
an empty string (eg.:
""
) you will automatically pick the default
public screen. Note that this behavior is not standard: most
commodities will abort if the requested public screen does not exist.
The default is to use or create a public screen called
XModule
.
PORTNAME
will change the name of XModule's ARexx port. If a
port with this name already exists, a number (eg:
.1
) will be
appended to the name, until a unique name is found. You can disable
the ARexx port providing an empty string (eg.:
""
) for
PORTNAME
.
The port name defaults to
XMODULE
. For more information about the
ARexx port, consult the ARexx Interface chapter.
SETTINGS
causes XModule to use the given settings file instead
of looking for the default preferences file.
CX_POPUP
controls wether the user interface should show as
soon as XModule starts. The default is to always show the interface.
When used from the shell,
CX_POPUP
acts as a toggle, turning off the
user interface. From Workbench, you specify
CX_POPUP=YES
or
CX_POPUP=NO
to show and hide the user interface, respectively.
See Commodities.
CX_POPKEY
specifies the hotkey that pops up XModule's user
interface. The given string should be a valid Commodities input
description. You can disable XModule's Commodities broker specifying
an empty string (eg.:
""
) for
CX_POPUP
. The default is
ctrl alt
x. See Commodities.
CX_PRIORITY
sets the Commodities priority for the XModule
broker. An high priority causes the input to be processed by {No Value
For "prgnmae"} before other commodities with a lower priority. The
priority ranges from +127 to -128. The default priority is 0. See
Commodities.
ICONXPOS
specifies the X position of XModule's AppIcon. The
default is to let Workbench choose a suitable position for the icon.
ICONYPOS
specifies the Y position of XModule's AppIcon. The
default is to let Workbench choose a suitable position for the icon.
ICONNAME
specifies the name of XModule's AppIcon. The default
name is
XModule
.
User Interface
**************
XModule's GUI follows Commodore's 2.0 style guidelines. Under
Kickstart 3.0 and above, XModule takes advantage of new OS capabilities
to enhance some aspects of the GUI.
Windows Layout
==============
Gadget and menu layout is font sensitive, but using some fancy fonts
could result in a somewhat weird look. If you are using a very big
font and a window becomes too big to fit in the screen,
topaz/8
will
be used as a fallback for rendering that window.
When you close a window, it will remember its position and size when
you open it again. The same is true for window zooming.
Shortcut Keys
=============
In all windows, the following shortcut keys are active:
ESC
Close the active window. Does not work with ToolBox window, as it
would make it too easy to accidentally exit the program.
HELP
Bring up AmigaGuide on-line help. See On-Line Help.
TAB
Cycle forward through string and numeric gadgets within the active
window.
SHIFT-TAB
will cycle backwards.
TAB
also activates
the first string or numeric gadget if none is selected.
RETURN
Activate the first string or numeric gadget in the active window.
Cursor UP/DOWN
Move up and down in a viewlist whenever the active window contains
one.
SHIFT-Cursor
moves 5 items up/down.
ALT-Cursor
moves to
the top or to the bottom of the list. This shortcut requires at
least Kickstart 3.0.
In addition, gadgets with underscored characters in labels, can be
operated hitting the highlighted key.
SHIFT-key
acts the opposite of
the unshifted key (sliders are decremented by one, cycle gadgets will
cycle backwards, etc). Keyboard shortcuts will not work for all gadget
kinds under Kickstart 2.0.
On-Line Help
============
This feature requires
amigaguide.library
, which is distributed
with Workbench version 2.1 and up, and
XModule.guide
located in the
current directory or in the same directory of XModule's executable or
in the
HELP:language/
directory, where
language
is any of your
Locale preferred languages. AmigaGuide(TM) is also available as a
freely distributable package for 1.3-2.0 users.
To get help on a gadget, press HELP while the mouse pointer is over
the gadget. To get help on a string gadget, activate it and press
HELP. Hitting HELP while the mouse isn't over a gadget, will give you
help on the active window.
To get help on a menu item, hilight the item and press HELP while
keeping the right mouse button pressed.
Localization
============
Localization requires
locale.library
, which is distributed with
Workbench version 2.1 and up, and the catalog file
XModule.catalog
located in the same directory of XModule's executable or in the
LOCALE:catalogs/language/
directory, where
langage
is is any of
your Locale preferred languages.
Commodities support
===================
XModule is a Commodity and can be controlled by the Commodities
Exchange program.
XModule will pop up when its hotkey is typed; the main window will
activate and the screen will move to the front. If XModule's interface
is hidden, it will be revealed.
The user interface can be hidden with the Exchange program. When
the user interface is hidden, the only ways you have to still operate
XModule is through the ARexx port or the AppIcon.
You can also control XModule by sending the following signals to its
process:
*
CTRL-C
Quit XModule.
*
CTRL-D
Disable the Commodities broker (equivalent to selecting
Inactive
with Commodities Exchange).
*
CTRL-E
Enable the Commodities broker (equivalent to selecting
Active
with Commodities Exchange).
*
CTRL-F
Deiconify XModule (equivalent to double-clicking on the AppIcon).
Default Icons
=============
When XModule creates an icon for a file, it looks for the user
preferred icon for the type of data being saved.
The template icons can be placed in the same drawer where XModule
resides or in the
ENV:sys/
directory. In the latter case, you should
store them in
ENVARC:sys/
to have them copied to
ENV:sys/
every
time the system boots up.
Template icons should be only of type
Project
. When XModule does
not find the template icon, it uses the default Project icon instead.
Whenever the default icon does not have its own default tool, it
will be set to XModule's executable.
The following default icons are supported:
-
def_Module
-
def_Instrument
Panels
******
Sorry, XModule's documentation is still incomplete. The next release
will hopefully be more accurate.
But wait! Do not commit suicide for this reason: XModule is very
easy to use, and you will be able to operate it even without this
chapter.
ToolBox Window
==============
Gadgets
-------
Patterns (P)
This option has not been implemented yet.
Instruments (I)
Opens or activates the Instruments information window.
Sequence (Q)
Opens or activates the Sequence editor.
Songs (S)
Opens or activates the Song information window.
Optimization (O)
Opens or activates the Optimization window.
Play (P)
This option has not been implemented yet.
Project Menu
------------
New (Amiga-N)
Creates an empty song.
Open (Amiga-O)
Opens a module over the current one.
Save (Amiga-S)
Saves the current song to the same path it was loaded from.
Save As (Amiga-A)
Opens a file requester and saves the current song to the selected
path.
Clear Module (Amiga-C)
Opens or activates the Clear Module panel.
Join Modules (Amiga-J)
This option has not been implemented yet.
About (Amiga-?)
Brings up a requester showing various information on XModule.
Iconify (Amiga-I)
Closes all open windows and screens and puts an AppIcon on the
Workbench. You can De-Iconify XModule by double clicking on the
icon.
Quit (Amiga-Q)
Quits XModule.
Format Conversion
*****************
XModule can load and save modules created by other music editors.
The following is a list of all supported module formats:
As a matter of fact, there are things that simply cannot be done
because of the big differences between different module formats. Below
is a list of the internal limitations of each module format. When you
save to a particular format and the module exceeds one of these values,
or makes use of features not implemented, some data will be stripped
away to produce at least a partial conversion.
Program Instr MaxPatt PattLen SongLen InstrLen Tracks
---------------------------------------------------------------
Oktalyzer 36 128 128 128 128K 4
Sound Tracker 15 64 64 128 64K 4
Noise Tracker 31 64 64 128 64K 4
StarTrekker 31 64 64 128 64K 4/8
Pro Tracker 31 100 64 128 64K 4
MED/OctaMED 63 256 256 256 No Limit 1-64
Where:
#Instr is the maximum number of instruments,
MaxPatt is the maximum number of patterns,
PattLen is the maximum number of lines per pattern,
SongLen is the maximum number of positions in a song,
InstrLen is the maximum size of an instrument in bytes,
Tracks is the maximum number of tracks.
Effects are the hardest thing to convert. While Speed and Volume
are almost the same between different music editors, some effects (such
as Oktalyzer's H and L) cannot be converted because there are no
equivalents in other music editors. Therefore, you will have to modify
the score manually if you intend to convert a module while keeping such
effects. In addition, some effects behave in different ways even if
they claim to do the same thing.
Last but not least, some music editors support synthetic or hybrid
instruments. XModule does not convert such instruments, because I can
hardly think of a way to implement a sample to synth conversion (any
ideas?). I used to like synthetic music, but it seems that all those
great composers on the good old C64 have vanished... Why have you
musicians become so lazy? 8-(
NoiseTracker
============
Noise/ProTracker 31 instruments module. This is absolutely the most
common module format; almost any music editor and module player (even
the crap ones for the PeeCee) understand this format. Noise/ProTracker
modules can be recognized by looking for the ID
M.K.
at offset 1080
($438 in hex) in the file.
M.K.
are the initials of Mahoney &
Kaktus, the two guys who designed this format.
Unfortunately, there is an infinite variety of standard NoiseTracker
modules with fancy IDs. In fact, most tracker clones put their own ID
instead of the standard one even if there is no reason to do it. If
you find such a module, try replacing the ID with an hex editor and you
will be able to load it most of the times.
ProTracker 100 Patterns
=======================
XModule will automatically switch to
ProTracker 100
whenever the
module being saved exceeds the 64 patterns limit of NoiseTracker
modules. Modules with more than 64 patterns have the ID
M!K!
instead
of the standard Noise/ProTracker ID (
M.K.
).
Note:
You
must
load such a module with ProTracker 2.3 or
better in order to play/edit it. Older players will either refuse to
load it or they'll turn the module into scratch dance.
ProTracker 3.0 has a completely new file format, but this isn't
supported yet, as I've never seen a module of this kind yet.
SoundTracker 15 Instruments
===========================
This format is pretty useless as SoundTracker is becoming really
rare. Do not save SoundTracker modules unless you really need to,
because most players/editors will stop supporting this format very soon.
There is no way to identify a SoundTracker module, therefore XModule
will ask you to confirm a SoundTracker module when the file being
loaded matches no other known module format.
StarTrekker
===========
StarTrekker is another NoiseTracker clone, which is capable of
playing modules with 4 or 8 channels and supports MIDI devices. The
format of 4 channels modules is the same of NoiseTracker, except for
the
FLT4
ID. Modules with 8 channels have the ID
FLT8
, and keep
the extra data in a second file, whose structure I don't know. If you
want support for 8 channels StarTrekker modules, please send me some
information on its format.
UNIC-Tracker
============
Actually, I've never seen UnicTracker, but I sometimes ripp Unic
modules with ExoticRipper, so I decided to give support for this weird
Tracker clone too. The format is very similar to that of ProTracker
modules, except for the
EMW3
ID.
FastTracker
===========
These modules are Standard Noise/ProTracker modules except that they
have 6 or 8 tracks. This format comes from a damn PeeCee tracker,
which I've never seen. Anyway, adding this format was a matter of five
minutes. XModule does not suppor FastTracker 2.0 modules (those with
extension
.xm
) yet.
Oktalyzer 1.1
=============
Oktalyzer is an old editor which can play up to 8 channels by mixing
instruments in real time. Oktalyzer modules start with the ID
OCTASONGGMOD
. Development of Oktalyzer has been discontinued, as
the author seems to be programming on Windoze now. It's really a
shame, as many musicians found that Oktalyzer was one of the most
powerful trackers for the Amiga.
MED
===
Not all features of MED are supported by XModule. In particular,
synthetic and hybrid instruments are ignored.
OctaMED
=======
ScreamTracker
=============
ScreamTracker 3.01 is a damn PeeCee program made by those Future Crew
guys who are trying to turn clones into Amigas. ScreamTracker has the
amazing feature of playing 32 tracks, 16 of which are for 8 bit digital
samples. The other 16 tracks play ADLib FM synths (not supported by
XModule.
MIDI File
=========
MIDI is the industry standard musical score format (the same way
Windoze is the industry standard graphic interface :-). The MIDI
concept is very different from tracker modules. There are no sequence
and patterns, but a long stream of events (notes) that have to be sent
to some musical device after a specific amount of time is elapsed.
There are no instruments. Instead, each note is associated with a
preset number that matches a particular instrument.
XModule's MIDI file saver is based on Andrew Scott's MidiMod program.
Optimization
************
Module optimization is achieved by removing all unused data in such
a way that the module will sound the same as before. XModule can
process a module to reduce its size as much as possible. It is
generally a good idea to optimize a module before distributing it, but
never while you are still composing it, because you could easily loose
some data that you didn't want to discard. Do not expect to gain a lot
of bytes optimizing modules: saving 20% of the total size is usually a
very good result.
*
Unused patterns
Some formats (e.g.: Sound/Noise/ProTracker) store empty patterns
in a module if a pattern with a greater number is used. For
instance, a song using patterns 1, 2 and 5 will contain patterns 3
and 4 as well.
Warning
: If a song contains a part that has not been finished
yet and has not already been inserted in the position table, you
will lose it.
Warning
: When a song is saved to Noise/ProTracker, patterns
beyond the last used patterns are discarded regardless of this
switch. This is due to a limitation of Noise/ProTracker module
format.
*
Pattern Cutting
When a pattern is breaked with the Pattern Break effect, it is cut
to the line containing the break. When saving to a format that
does not support variable length patterns (eg.: SoundTracker), the
pattern is grown again, so this optimization won't help with such
formats.
*
Unused instruments
A composer may decide to use an instrument and then change his
mind, but forget to clear the instrument. In this case the module
will contain an instrument that is never played. These instruments
are simply stripped away.
*
Sample data after a loop
The part of an instrument following a loop is never played and is
therefore discarded.
*
Instruments zero tails
Long zero tails eat up memory and produce no sound. This
optimization is performed only on loopless instruments, as a zero
sequence inside a loop
does
make difference. XModule leaves at
least two zero bytes to avoid the nasty click produced by the
speaker dropping its volume to zero too quickly.
ARexx Interface
***************
Sorry, sorry! XModule's documentation is still incomplete. The
next release will hopefully be more accurate (it's already three
releases I'm promising it :-).
Anyway, XModule's ARexx port is a little brain dead at the moment,
so you're not missing a great deal.
Known Bugs
**********
Murphy's laws state that nothing can be perfect, not even computer
programs. XModule is far from being perfect and I need your help to
fix as many bugs as possible. If you discover a bug which isn't
reported in the list below (note: there is no list at the moment; this
is a beta release, remember?), please notify me.
When you report a bug, state exactly what happens and indicate how
to reproduce the conditions that generated the problem. Reports like
`XModule sometimes crashes converting my favorite module' does not help
at all. Include your name if you want to be credited in future XModule
releases.
If the program refuses to convert a module, mail it to me on a disk
or upload it to a BBS that I can reach and I'll try to fix the problem
as soon as possible. Glass Globe BBS, whose address can be found in
the Author Info chapter, will do. If you want the disk back with the
fixed version of XModule, send me a self-addressed envelope with enough
italian stamps or enough money for a reply.
XModule has been tested on several machines running Kickstart 2.0,
3.0 and 3.1. It should work on any 68K family processor (was tested on
68000, 68020 and 68040) and is Enforcer and Mungwall proof. I also
tested XModule with virtual memory programs such as VMM40 and found that
everything seems to work correctly.
Future plans
************
*
TeX
Another format I'd like to add is AmigaTeX. If you know TeX,
you'll surely be wondering what a typesetting program can be used
for in music. Well, AmigaTeX is at the moment is the best
implementation available on any computer of the TeX typesetting
environment, and its distribution includes
MusicTeX
, a powerful
music language which can output notes in a great standard staff
notation. I know no other program on the Amiga that can print
notes of such fine quality (if you do, let me know!), so I think
that many musicians would appreciate such an option.
*
Other module formats
Some formats I'd like to give support for in XModule as soon as
possible:
- FastTracker II (
.XM
)
- ScreamTracker (
.S3M
)
- MultiTracker (
.MTM
)
- OctaMED MMD1 and MMD2
- Face The Music (
.FTM
)
- Quadra Composer
If you have documentation regarding a format you would like to see
in the next release, please send it to me together with a couple
of modules and, if possible and legal, the program that created
them. I'll try to implement the new format only if it is somewhat
easy: it is very hard to convert, say, Future Composer to
SoundTracker. Please, do not send a module without at least a
text file describing its structure, as I'm not willing to spend my
nights hex-dumping modules :-).
*
External Loaders/Savers
Add support for 3rd party loaders and savers in XModule.
Currently, I'm thinking about the best implementation of the
external module interface.
*
Full Module Editor
I'd like to turn XModule into a fully featured editing environment
for any kind of module, but this would require an enormous amount
of effort, and time is never enough...
Programmer notes
****************
XModule has been written in C and compiled with SAS C 6.51, Other
compilers may require some changes in the source code.
The program is written in respect of the Amiga multitasking
operative system and complies with Commodore programming guidelines.
All allocated resources will be (hopefully) freed before program
termination. I wrote XModule with the goal in mind of keeping the
executable fast and small.
This manual has been typeset using MakeInfo, a GNU PD utility ported
to the Amiga by Reinhard Spisser and Sebastiano Vigna. I found that
the time I saved writing one file for three was nearly compensated by
the time spent learning how to operate MakeInfo.
Besides, English is not my first language (as you might have
guessed) and I bet this document is full of grammar mistakes.
If you intend to translate, improve or somewhat edit this document,
please work on the supplied TexInfo file and then process it with the
utilities supplied in the MakeGuide distribution. You can find
MakeGuide in several PD libraries such as Aminet.
Do not hesitate sending criticisms to my work, and, even better,
advices on how to improve the program and its documentation. See
Author Info.
XModule Module Format
*********************
Before going into the details of the XModule module format, I'd like
to explain why I felt the need to invent yet another module format.
There were plenty of them, but none had the flexibility I was looking
for. The only one exception is in my opinion OctaMED's MMD. But the
MMD file format is very complicated, hard to read and poorly
documented. When I designed it, I wanted XMOD to be as flexible, easy,
efficient and expandable as possible. If you are developing a music
program, please consider supporting XMOD. If you have troubles with
the following format description, contact me and I'll be glad to help
you.
XModule modules are standard IFF files. They consist of a sequence
of chunks (also called
proprieties
) each storing a particular type of
information related to the module. Text chunks, such as NAME and AUTH
chunks are variable sized and NOT null terminated. When you read such
a chunk, you should take care to clip the string to your maximum buffer
size. NAME and AUTH fields are optional and should be assumed empty
when missing.
As with every IFF file, you should not depend on the order and size
of any chunk. However, as usual with most IFF formats, header chunks
must always precede related BODY chunks. XModule requires this for
PHDR chunks because it isn't possible to load a pattern without knowing
its length and number of tracks. Some chunks may grow in size in
future versions of XModule.
FORM XMOD
[NAME]
The name chunk contains the original name used to save the module.
[ANNO]
XModule stores its copyright information here.
MHDR
Module header. Contains a ModuleHeader structure as defined in
<XModuleClass.h>.
FORM SONG
The song FORM contains all data relative to one song. Any
number of songs can be stored into one module.
[NAME]
Name of the song.
[AUTH]
Author of the song.
SHDR
Song Header. Contains a SongHeader structure as defined in
<XModuleClass.h>.
SEQN
Song Sequence. The contents of this chunk are unsigned bytes
representing the pattern to play at a particular position.
The size of this chunk should match the Length field of the
SongHeader.
When a song contains multiple sections, one SEQN chunk will
be stored for each section (not implemented).
FORM PATT
Each occurrence of this FORM contains one pattern. Patterns
are numbered starting from 0. Each pattern has its own
length and number of tracks.
[NAME]
Name of this Pattern.
PHDR
Pattern Header. Contains a PatternHeader structure as
defined in <XModuleClass.h>.
BODY
The BODY chunk is stored as an array of PatternNote
structures. Tracks are stored one after the other.
There are NumTracks*Length Note structures in the BODY
chunk.
END FORM PATT
FORM 8SVX
Each SONG contains one or more occurences of this FORM,
one for each sample. XModule currently saves and loads
only the NAME, VHDR and BODY chunks. Be prepared to
decode Fibonacci Delta Encoded BODY chunks. An
additional non-standard chunk is saved:
INST
XModule instrument info. Contains an InstrumentInfo
structure as defined in <XModuleClass.h>.
When the BODY chunk is missing, the sample must be
loaded from the instrument library using the contents
of the NAME chunk as the file name.
See the IFF 8SVX documentation for more details.
END FORM 8SVX
END FORM SONG
END FORM XMOD
Credits
*******
* Alastair Booker, for suggestions and help with the FastTracker
format.
It is not your fault if Intel systems are so unstable! :-)))
* Fabio Barzagli, for beta testing XModule and for giving me all his
awesome modules!
Keep on making good music, Fabio!
* Massimo Brogioni, for being my boss and for spreading all those
bogus XModule releases all around the world.
Hey boss, have you got a spare 5Gig hard disk?
* Alessandro Lombardi, for 2.x beta testing.
Stop deleting files!
* Erno Tuomainen, for his wonderful finnish BBS, for his kindness
and for all the support he gave me.
Are there any more top-rated modules to leech?
* Pauli Porkka, for his kindness, for letting me win a free DASMP
key, for the sources and for all the e-mails.
Will you support my format in the next DASMP release?
* Woody (Nicola Ferruzzi), for S3M and XM format descriptions.
I'll send you a postcard from Japan as soon as I go there. :-)
* The Amiga, for being the best computer in the world. :^)
Commodore: You've put really a lot of efford trying to kill the
Amiga, but you won't succeed!
How to contact the author
*************************
If you want to make me aware of your suggestions, bug reports, ideas
or you want to send me a gift, a good module or, why not, some money
:-), reach me in any of the following ways:
*
Mail
Bernardo Innocenti
Via Ventiquattro Maggio, 14
50129 - Firenze
ITALY
*
FAX
+39-55-8877771
Attn: Bernardo Innocenti
Subj: Amiga/XModule
*
E-Mail
FidoNet: Bernardo Innocenti 2:332/118.4
AmigaNet: Bernardo Innocenti 39:102/201.4
UseNet: bernie@shock.nervous.com
I will try to reply to all my E-Mail, but I'm too lazy to reply
old-style mail. Your suggestions will be taken into account unless
they are `I want XModule to do ice tea'-style.
Concept Index
*************
100 Patterns ProTracker modules ProTracker
6CHN FastTracker
8CHN FastTracker
Acknowledgements Credits
Arguments, command line Getting Started
Author's address Author Info
Break signals Commodities
Bug reports Known Bugs
Bugs, known ones Known Bugs
Compiling XModule Programmers
Contact the author, how to Author Info
Credits Credits
def_Instrument Default Icons
def_Module Default Icons
Distribution Distribution
File Format used by XModule XModule Format
Font Sensivity Windows Layout
GUI User Interface
Help, On-Line On-Line Help
How to contact the author Author Info
Icons, changing defaults Default Icons
Keys, Shortcuts Shortcut Keys
Known Bugs Known Bugs
Language selection Localization
Layout, of Windows Windows Layout
Localization Localization
M!K! ProTracker
MED MED
MIDI File MIDI File
MMD Format MED
Modifying XModule Programmers
NoiseTracker NoiseTracker
OctaMED OctaMED
Oktalyzer Oktalyzer
On-Line Help On-Line Help
Optimization Optimization
Overview of XModule Overview
Panels Panels
Programmers, notes for Programmers
ProTracker ProTracker
S3M Format ScreamTracker
ScreamTracker ScreamTracker
Shortcut Keys Shortcut Keys
SoundTracker SoundTracker
Starting XModule Getting Started
StarTrekker StarTrekker
Thanks Credits
ToolTypes Getting Started
UNIC-Tracker UNIC-Tracker
Usage Getting Started
User Interface User Interface
Windows Panels
Windows Layout Windows Layout
XModule overview Overview